#pragma once

class Locker
{
public:
	Locker();

	virtual ~Locker(void);

public:
	void lock();

	void unlock();

	bool tryLock();

private:
	CRITICAL_SECTION	_lock;
};

class AutoLocker
{
public:
	AutoLocker(Locker *locker);

	~AutoLocker();

private:
	Locker	*_locker;
};